package com.aigyun.statistic.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author lius
 * @since 2019-07-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_order_info")
public class OrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private Long userId;

    /**
     * 地块号
     */
    private Long farmlandId;

    /**
     * 指定的植保商
     */
    private Long providerId;

    /**
     * 指定的植保队
     */
    private Long teamId;

    /**
     * 订单号
     */
    private Long orderNo;

    /**
     * 订单时间
     */
    private LocalDateTime orderTime;

    /**
     * 1：农户；2：植保商；3：植保队员；4：管理员；5：监管机构
     */
    private Integer userRole;

    /**
     * 农户姓名
     */
    private String farmerName;

    /**
     * 手机号
     */
    private String farmerPhoneNum;

    /**
     * 1:防治；2：杀虫灭菌；3：施肥；4：授粉；5：脱叶；6：消杀免疫；7：除草；8：其他
     */
    private Integer taskType;

    /**
     * 其他防治类型
     */
    private String taskOtherType;

    /**
     * 作物类型
     */
    private Integer cropsType;

    /**
     * 作物名称
     */
    private Integer cropsName;

    /**
     * 作业时间
     */
    private LocalDateTime taskTime;

    /**
     * 省
     */
    private String taskProv;

    /**
     * 城市
     */
    private String taskCity;

    /**
     * 地区
     */
    private String taskDistrict;

    /**
     * 地址
     */
    private String taskAddr;

    /**
     * 面积
     */
    private Integer taskArea;

    /**
     * 单价
     */
    private Integer taskPrice;

    /**
     * 0:'待接单' ,1:'已接单' ,[1-3]:作业中' ,4:'已完成' ,5:'已评价' 
     */
    private String taskIntroduce;

    /**
     * 订单状态
     */
    private Integer orderState;

    /**
     * 订单类型。1：自由发布；2：选定系统推荐植保商；3：选定系统推荐植保队；4：指定植保商；5：指定植保队
     */
    private Integer demandType;

    /**
     * 用户取消订单，标记状态为1 后台管理系统取消订单为2
     */
    private Integer delFlag;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 支付状态 0 支付 1未支付 2已支付-私下转账
     */
    private Integer payState;

    /**
     * 0支付宝支付 1微信支付 2私下转账 
     */
    @TableField("payType")
    private Integer payType;


}
